package com.chenjun.common.poi.annotation;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author chenjun
 * @date 2018/7/6 0006
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ExcelField {
    /**
     * 格式化样式
     */
    String dateFormatter() default "yyyy-MM-dd HH:mm:ss";

    /**
     * 取一位整数 0
     * 取一位整数和两位小数  0.00
     * 取两位整数和三位小数，整数不足部分以0填补。00.000
     * 取所有整数部分  #
     * 以百分比方式计数，并取两位小数  #.##%
     * 显示为科学计数法，并取五位小数  #.#####E0
     * 显示为两位整数的科学计数法，并取四位小数  00.####E0
     * 每三位以逗号进行分隔。  ,###
     * 将格式嵌入文本  速度,###米
     */
    String numberFormatter() default ",###";

    /**
     * 字段类型
     */
    FieldType fieldType() default FieldType.STRING;

    /**
     * null转换
     */
    String nullConvert() default "";

    /**
     * 排序
     */
    int sortNumber() default 0;

    /**
     * 栏目名称
     */
    String fieldName();

    int width() default 3000;

    enum FieldType {
        STRING, DATE, NUMBER
    }
}
